home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / internet / sbn32_23.zip / NEWSBOT.DOC < prev    next >
Text File  |  1996-04-20  |  24KB  |  485 lines

  1. SBNews: News Robot Utility 
  2.  
  3. (C) Scott M Baker 
  4.  
  5. -------------------------------------------------------------------------------
  6.  
  7. Note: This program is still in the early beta stages. It hasn't been very 
  8. extensively tested and it's very possible that you may experience trouble. 
  9. Please report any problems to me at smbaker@primenet.com.
  10.  
  11. I variously refer to this program under the names "NewsBot" and "SBNews" 
  12. throughout the document. You can for the most part consider them to be the 
  13. same. Eventually, I plan on including extra utilities in this package, "SBNews" 
  14. will be the name of the full package and "NewsBot" will be the name of the News 
  15. Robot utility within the package.
  16.  
  17. -------------------------------------------------------------------------------
  18.  
  19. Purpose: 
  20.  
  21. The purpose of this program is to automatically download and uudecode files 
  22. from newsgroups via a winsock connection. If you've found this program, then 
  23. you probably know what this means, so I won't go into detail. Newsbot will 
  24. attempt to piece together multi-part files. 
  25.  
  26. If you're new to binary newsgroups, then here are a few G-rated newsgroups that 
  27. you might wish to try: 
  28.  
  29. alt.binaries.pictures.astro
  30. alt.binaries.pictures.animals
  31. alt.binaries.pictures.cartoons
  32. alt.binaries.pictures.fractals
  33.  
  34. There are a wealth of adult-oriented newsgroups, but I'm not going to list them 
  35. in this document. 
  36.  
  37. I have included a sample file, SAMPLE_G.TXT, which includes a listing of binary 
  38. newsgroups. There are no descriptions, but you can probably find out from the 
  39. newsgroup name what subject matter the newsgroup deals with. 
  40.  
  41. -------------------------------------------------------------------------------
  42.  
  43. Requirements: 
  44.  
  45.     * Windows 3.1 or greater 
  46.     * Winsock connection capability (i.e. SLIP or PPP) 
  47.  
  48. Distribution: 
  49.  
  50.     * 16-bit (Windows 3.1) Version: SBNEWSxx.ZIP (xx denotes version number)
  51.     * 32-bit (Windows 95) Version: SBN32_xx.ZIP (xx denotes version number
  52.  
  53. Features: 
  54.  
  55.     * Unattended download - do other work (or go out to lunch) while downloads 
  56.       and uudecoding are all processed for you! 
  57.     * Automatic HTTP address logging -- NewsBot will keep track of any HTTP 
  58.       URL's that were found while downloading addresses. These will be saved to 
  59.       a convenient HTM file, HTTPGRAB.HTM. 
  60.     * Built in JPEG viewer. Allows you to see postage-stamp size images of the 
  61.       files you are downloading in progress. 
  62.     * Delete/View previously downloaded JPEG files. 
  63.     * Comprehensive logging capabilities - save the subject and from 
  64.       information for files that you might want to follow up on later. 
  65.     * Dupe Checkers -- avoid downloading the same files multiple times. 
  66.  
  67. Files Included: 
  68.  
  69.     * NEWSBOT.EXE: Executable; what you need to run to get the program to work. 
  70.     * NEWSBOT.HTM: Documentation in HTML format (read with your browser) 
  71.     * NEWSBOT.DOC: Documentation in plain-ASCII format (read with any plain 
  72.       ascii text editor) 
  73.     * BWCC.DLL (16-bit) or BWCC32.DLL (32-bit): Borlands Custom-Control DLL 
  74.       library; used to support Newsbot's grey dialog boxes. 
  75.     * FILE_ID.DIZ: Brief description file; useful for bbs distribution 
  76.     * SAMPLE_G.TXT: Plain-ASCII listing of binary newsgroups 
  77.  
  78. -------------------------------------------------------------------------------
  79.  
  80. Installing and Using the Program: 
  81.  
  82. Here are some very quick notes on installing and using Newsbot: 
  83.  
  84. Installation: 
  85.  
  86.    1. Unzip the distribution archive into the directory of your choice. 
  87.  
  88. Running: 
  89.  
  90.    1. Run NEWSBOT.EXE -- this can be done in various ways - from the Win-95 
  91.       command prompt, the Windows Explorer (and/or file manager), the Windows 
  92.       Run Program command, etc. 
  93.    2. On your first session, you'll be prompted for a "News Host Name". This is 
  94.       the name of your news host, and should be given to you by your ISP 
  95.       (internet service provider). 
  96.    3. On your first session, you'll be prompted for a "download path". This is 
  97.       the path where you want the files you download to be placed. 
  98.    4. Once NewsBot is loaded, you'll want to add some newsgroups. This is done 
  99.       with the "Add" button. You'll need to know the names of the groups you 
  100.       want; you might want to consult SAMPLE_G.TXT for some sample newsgroup 
  101.       names. 
  102.    5. Press the "CONNECT" button to start everything. All else should be mostly 
  103.       automatic from here on. Feel free to tinker around with the menu items 
  104.  
  105. -------------------------------------------------------------------------------
  106.  
  107. Command Line Parameters 
  108.  
  109.     * "-i INI_FILE_NAME". Sets the name of the INI file to use. By default, 
  110.       newsbot uses the file newsbot.ini in your windows directory. Specifying a 
  111.       filename here will cause newsbot to use the file under that name in 
  112.       newsbot's home directory. For example "Newsbot -i news1.ini" would use 
  113.       the filename "news1.ini" in newsbot's home directory. 
  114.  
  115. -------------------------------------------------------------------------------
  116.  
  117. Jpeg Viewer 
  118.  
  119. SBNews has a built in Jpeg viewer for viewing JPEG files offline. The JPEG 
  120. viewer can be operated in several ways: 
  121.  
  122.    1. By double-clicking on a [RECEIVED] entry in Newsbot's log window 
  123.    2. By single-clicking on one of the preview pictures on the right hand side 
  124.       of Newsbot's main window. 
  125.    3. By using the FILE:VIEW JPEG option from Newsbot's pulldown menu. 
  126.  
  127. Once loaded, the JPEG viewer window will display the JPG file selected and 
  128. include a listing of filenames and directories on the left-hand side of the 
  129. window. This listing is provided to let you easilly select other files to view. 
  130. Double clicking on a directory in the directory list will change to that 
  131. directory and double clicking on a filename in the file list will display that 
  132. file. The CHDIR and VIEW buttons perform the same functions, respectively. 
  133.  
  134. The "<" and ">" buttons will view the immediately previous and next files in 
  135. the currently selected directory. You may use these to rapidly view a list of 
  136. files that were downloaded overnight for example. The ">" button will activate 
  137. a slideshow of the current directory. Each file will be displayed, there will 
  138. be a slight delay, and the next file will be displayed. 
  139.  
  140. The FILE menu of the viewer has several options: 
  141.  
  142.     * Open File: Allows you to open a new file using the windows common-dialog 
  143.       open method. 
  144.     * Delete File: Deletes the current file that you are viewing. 
  145.     * Save as BMP: Saves the current image as a BMP image, which may later be 
  146.       used as windows wallpaper, for example. 
  147.     * Set as Wallpaper: Saves the current file as a BMP and tells window to use 
  148.       it was wallpaper. 
  149.  
  150. The SlideShow menu has a few options as well: 
  151.  
  152.     * Start/Stop: Starts and stops the slideshow, equivalent to the ">" button. 
  153.     * Set Interval: Sets the amount of delay between slideshow pictures. 
  154.     * "Normal Mode": Images will be displayed in the jpeg viewers window. 
  155.     * "Wallpaper Mode": Images will also be set as WallPaper. This sort-of 
  156.       turns your entire desktop into a slideshow display. You can minimize the 
  157.       JPEG viewer window and continue to do work while images display in the 
  158.       background as wallpaper. 
  159.  
  160. -------------------------------------------------------------------------------
  161.  
  162. Configuration 
  163.  
  164. Host Name: 
  165.  
  166. The host name is the name of the nntp host which NewsBot will connect to. If 
  167. you don't already know this, then you may wish to contact your Internet Service 
  168. Provider (ISP) or check an existing news program on your system for the name. 
  169.  
  170. Download Path: 
  171.  
  172. The base path where downloaded files will be placed. If you enable any of the 
  173. download path expansion (see misc. preferences), then files may be downloaded 
  174. into sub-directories of this base path. 
  175.  
  176. Miscellanious Preferences: 
  177.  
  178. Miscellanious preference options are located under the Configure menu under the 
  179. heading Preferences. 
  180.  
  181.     * Logging: Logging options control the creation of the newsbot.log file. 
  182.       The log may be useful so that you have more information about the files 
  183.       that you have downloaded. 
  184.           * Log Enabled: if checked, then a log file will be written. 
  185.             Otherwise, no log will be written. 
  186.           * From user name: records the name of the person who posted the 
  187.             message 
  188.           * Subject: records the subject line of the message 
  189.           * Comments: records the first few non-file lines of the message. 
  190.             Useful if the sender has prefaced the message with some explanation 
  191.             of it's content. 
  192.           * Too Small: Messages that are below the minimum message line limit 
  193.             (see below). 
  194.           * Too Long: Messages that are above the maximum message line limit 
  195.             (see below). 
  196.           * Dupe File: Files caught by the dupe-file checker. 
  197.           * Dupe Subject: Messages caught by the dupe-subject checker. 
  198.           * Mime Headers: Really just debugging info for me.... 
  199.     * Path Expansion: These options will place files from different groups in 
  200.       different download directories. 
  201.           * None: Places all downloaded files in the same download directory. 
  202.           * Group Number: Places files in directories designated by their group 
  203.             numbers in the group list (i.e. the first group would go in 
  204.             .../group1/, the second in .../group2/, etc) 
  205.           * Group Name: Transforms the group name into a download path. For 
  206.             example, alt.binaries.pictures.astro would go into 
  207.             .../alt/binaries/pictures/astro/. 
  208.     * Case Conversion: These options will convert the case of the filename to a 
  209.       uniform format. Due to limitations in the 16-bit application model, 
  210.       filenames will probably be always upper case in the 16-bit executable. 
  211.           * None: Leave filename case as it appears over the modem. 
  212.           * Lower: Convert all filenames to lower case. 
  213.           * Upper: Convert all filenames to upper case. 
  214.     * Disconnect/Reconnect: The disconnect/reconnect system will automatically 
  215.       disconnect and reconnect the current nntp session in order to abort a 
  216.       message that is being transmitted. This is used to save time, rather than 
  217.       downloading entire messages which are not stored on disk. If you disable 
  218.       disconnect/reconnect, then Newsbot will receive the entire message, 
  219.       although the message will not be written to disk. You may toggle 
  220.       disconnect/reconnect on or off for several subcases: 
  221.           * No-Data: Messages with more non-encoded lines than the no-data 
  222.             threshold set below. 
  223.           * Dupe-File: Files caught by the dupe-file checker (not relavant to 
  224.             the dupe-subject checker, as the dupe-subject checker won't 
  225.             download the message in the first place) 
  226.           * No-Mask: Files which do not match an acceptable file mask. 
  227.           * Current-Delete: Files which were deleted during transfer by a user 
  228.             request. 
  229.     * Message Line Limits: Newsbot can limit which messages are downloaded 
  230.       based on the length (number of lines) of the message. 
  231.           * Minimum Lines: Messages with fewer than the specified number of 
  232.             lines will not be downloaded. The rationale is that small messages 
  233.             do not contain any useful information (pictures are big!) and some 
  234.             efficiency may be obtained by not downloaded them. 
  235.           * Maximum Lines: Messages with greater than the specified number of 
  236.             lines will not be downloaded. The rationale is that really huge 
  237.             messages are a waste of time. It's usually the case of someone who 
  238.             scanned in a picture at too fine a resolution. 
  239.           * "No Data" Threshold: This specifies the number of lines that can be 
  240.             in a message when no attached files (eg images) can be found before 
  241.             the message is skipped. For example, if 500 lines are scanned, and 
  242.             no attached image is present, then the message is probably grunged, 
  243.             a misplaced part of a multipart encode, or some other useless data. 
  244.  
  245. Lockout Poster List 
  246.  
  247. The lockout poster list is a listing of email names of people from whom you DO 
  248. NOT wish to receive news articles from. The customary way to add new posters is 
  249. to notice an image you don't like in the JPEG Preview and click the Lockout 
  250. Poster option under the Current or Previous menus. 
  251.  
  252. Authentication: 
  253.  
  254. The authentication options are used for news servers which require a user name 
  255. and password to access the newsgroups. If your news server does not require a 
  256. name and password, then you should leave this option alone. Authentication is 
  257. located under the Configure menu. 
  258.  
  259. Acceptable File Masks 
  260.  
  261. Newsbot allows you to specify which types of files will be downloaded. 
  262. Specifying "*.*" will enable any file to be downloaded, and this is the 
  263. default. For example, if you only wanted to receive images, then you may wish 
  264. to remove *.* and add in *.gif and *.jpg. If you only wanted archives, add in 
  265. *.zip. etc. 
  266.  
  267. Dupe Checking 
  268.  
  269. Two different types of dupe checking are supported. They may be used 
  270. independantly, or you can use both of them at the same time if you wish. By 
  271. default, the dupe checkers maintain a list of approximately the most recent 
  272. 2048 messages received. 
  273.  
  274.     * Subject Dupe Checker: Remembers duplicates by keeping track of the 
  275.       subject and from user name of the message. Thus, if the same person posts 
  276.       multiple messages with the same subject, the message will be flagged as a 
  277.       dupe. This is useful for preventing download of crossposted messages 
  278.       (i.e. identical messages posted in multiple groups) 
  279.     * Filename Dupe Checker: Remembers duplicates by keeping track of the names 
  280.       of the files that were downloaded. This is very effective at weeding out 
  281.       dupes, but has the side effect of sometimes deleting messages that are 
  282.       not really duplicates. For example, there are a lot of files name "1.JPG" 
  283.       out there! 
  284.  
  285. Both of the two above mentioned dupe checkers have some options that control 
  286. their behaviour: 
  287.  
  288.     * Reject Duplicates: If checked, then dupe checking will be performed as 
  289.       stated above. If not checked, then no dupe checking will be performed. 
  290.     * Save dupe list: If checked, then dupe information will be saved from 
  291.       session to session. If not checked, then dupe information will only be 
  292.       kept for the current session. 
  293.     * Items to Keep: This is the number of items to "remember" for the dupe 
  294.       checker. A bigger number here will remember more messages (or files), but 
  295.       will also require more memory and/or disk space to hold to dupe checker 
  296.       information. 
  297.  
  298. -------------------------------------------------------------------------------
  299.  
  300. Statistical Options 
  301.  
  302. There are a variety of options listed under the statistics menu item. Most of 
  303. these simply return information that SBNews has collected while processing 
  304. newsgroups. 
  305.  
  306.     * Similar NewsGroups: Newsgroup headers contain an "Xref:" line which lists 
  307.       other newsgroups to which a specific article has been posted. Many times, 
  308.       a poster will "cross-post" an article to multiple groups which share the 
  309.       same interests. The Similar Newsgroups list will display all of the 
  310.       accumulated Xref's for the current area. 
  311.     * HTTP Grabber: The HTTP Grabber automatically keeps a list of any WWW 
  312.       addresses that are found in the text and/or subject lines of downloaded 
  313.       messages. In addition, a HTML file called HTTPGRAB.HTM will be written to 
  314.       the newsbot directory. You may load this file with your WWW browser and 
  315.       look up any references that SBNews found. 
  316.     * Dupe File List: The list that the dupe-checker keeps in memory to catch 
  317.       dupe files. 
  318.     * Dupe Subject List: The list that the dupe-checker keeps in memory to 
  319.       catch duplicate subject lines. 
  320.  
  321. -------------------------------------------------------------------------------
  322.  
  323. Unfinished Stuff 
  324.  
  325. This program is still largely unfinished. There's lots of "bells-and-whistles" 
  326. that I'm planning on adding in the future. So don't dispair if a few features 
  327. that you'd like are missing. Important things I'm hoping to add are: 
  328.  
  329.     * Automatic Connect and Disconnect (i.e. start receiving when it's loaded) 
  330.     * Ability to download newsrc (the list of newsgroups) 
  331.     * Ability to specify search filters (i.e. only retrieve messages with xxx 
  332.       in the subject field) 
  333.     * Manual toggling of articles you want to download 
  334.  
  335. -------------------------------------------------------------------------------
  336.  
  337. Registration 
  338.  
  339. SBNews/Newsbot is a shareware program and as such, you are only granted the 
  340. right to operate it for a limited time to evaluate it's performance. Continued 
  341. usage requires registration in the amount of $15.00. 
  342.  
  343. The registration policy is as follows: 
  344.  
  345.    1. Mail $15 (a personal check made out to "Scott M. Baker" is fine) to my 
  346.       US-Mail address. Include your EMAIL address with the check. 
  347.    2. I will generate a registration code that corresponds to the email you 
  348.       included. I will email this registration code back to you at the address 
  349.       you provided. 
  350.    3. Load up newsbot and select Register from the menu. Enter your email and 
  351.       the code I provided. The program will now be registered. 
  352.    4. Your registration is good forever, and will be supported under ALL FUTURE 
  353.       VERSIONS of this program. 
  354.  
  355. Registration entitles you to use of the program (and all future upgrades) for 
  356. as long as you wish. The 15-second shareware delay while loading will be 
  357. removed. In addition, if I add additional utility programs to the SBNews 
  358. package, your registration will entitle you to usage of them as well. 
  359.  
  360. Please do consider registering this shareware if you continue to use it. The 
  361. programming is very involved and time consuming, and it really gives me a lot 
  362. more incentive to add new features if I receive compensation for my work. 
  363.  
  364. -------------------------------------------------------------------------------
  365.  
  366. How to contact me: 
  367.  
  368. US-Mail: 
  369.  
  370. Scott M. Baker
  371. 2241 W Labriego
  372. Tucson, Az 85741
  373.  
  374. My Bulletin board: 
  375.  
  376. The Not-Yet-Named BBS
  377. (520) 544-4655 (USR Dual 14.4k)
  378. (520) 797-8573 (USR Sportster 28.8k)
  379.  
  380. Email: 
  381.  
  382. smbaker@primenet.com
  383.  
  384. My Homepage: 
  385.  
  386. http://www.primenet.com/~smbaker
  387.  
  388. -------------------------------------------------------------------------------
  389. Revision History 
  390.  
  391.     * Version 1.0 
  392.           * Initial public release 
  393.     * Version 1.1 
  394.           * Added about dialog and shareware delay 
  395.           * Cleaned up (shrunk) main screen and reorganized information 
  396.           * Added context-sensitive hint text at bottom 
  397.           * Fixed problem with message pointers not being recorded properly 
  398.     * Version 1.2 
  399.           * Added JPG viewer window (supported in 800x600 or above only) 
  400.           * Probably fixed a nasty stack overflow (Runtime Error 202) bug that 
  401.             was causing trouble with new users. 
  402.     * Version 1.3 
  403.           * Made JPEG viewer more crash resistant 
  404.           * Increased JPEG viewer read buffer to deal better with images with 
  405.             large headers 
  406.           * Added a title to the main window 
  407.           * Finished registration code system 
  408.     * Version 1.4 
  409.           * Added icon 
  410.     * Version 1.5 
  411.           * Made sure to free gensock.dll on exit 
  412.           * Added Configure:Preferences dialog, many new preference options 
  413.     * Version 1.6 
  414.           * Raised counter-over threshold from 250 to 1000 
  415.           * Set update timer at 100ms instead of 250ms 
  416.           * Added Lockout Poster system 
  417.           * Revamped dupe checker for better reliability 
  418.           * Added similar newsgroups list 
  419.           * Raised maximum number of newsgroups from 32 to 128 
  420.           * Added view and delete options to current and previous menus 
  421.           * Fixed problem with crashes on high-ascii characters in lockout 
  422.             poster list 
  423.           * Fixed possible bug with long header lines 
  424.           * Now handles nonexistant newsgroups without halting 
  425.     * Version 1.7 
  426.           * Shareware delay now increments by 1 every day Newsbot is used 
  427.           * Newsbot now stops loading groups from INI file when first blank 
  428.             entry is found (speedup?) 
  429.           * Revamped the dupe message checker (again!) 
  430.           * Fixed bug which was causing unnecessary JPEG error 117 
  431.           * Fixed problem with decoding lines that started with a double period 
  432.     * Version 1.8 
  433.           * Added message when old BWCC found 
  434.     * Version 1.9 
  435.           * Change "about" menu to "file" menu 
  436.           * Added open jpeg viewer option to file menu 
  437.           * Prevented crash if 0 messages in a group 
  438.           * Added HTTP URL Grabber 
  439.           * Fixed problem with long subject/from lines (i.e. >256 chars) 
  440.           * Double clicking on the log will bring up a viewer 
  441.           * Made sure files are written to proper directory 
  442.           * All uudecode filenames are normalized to lower case 
  443.           * Added dupe file checker 
  444.           * Revamped dupe subject checker (again!) 
  445.     * Version 2.0 
  446.           * Added authentication support (AUTHINFO Original) 
  447.           * Ability to deal with SOME mime messages 
  448.           * Added acceptable file mask dialog 
  449.           * 32-bit version available 
  450.           * Incorporated gensock code into SBNews; Gensock.DLL no longer 
  451.             needed. 
  452.           * Fixed memory leak in jpeg viewer 
  453.           * Used suballocater to deal with strman hash table nodes 
  454.           * Added "add" and "refresh" options to similar groups dialog 
  455.     * Version 2.1 
  456.           * Spiffed up Jpeg viewer window 
  457.           * Fixed up error handling on JPEG decoding routines 
  458.           * Fixed possible error with "Null" strings 
  459.     * Version 2.2 
  460.           * Fixed problems with palette in 256 color mode 
  461.           * More tolerant of uuencoded lines with extra characters 
  462.           * Made small version of window even smaller 
  463.           * Dupe File, Delete Current, and No Mask signals will now 
  464.             disconnect/reconnect the session to keep from having to download 
  465.             entire message. 
  466.           * Several user-friendliness improvements 
  467.           * Included SAMPLE_G.TXT, a list of binary picture newsgroups 
  468.           * Added "-i [INIFILENAME]" command line parameter 
  469.           * Added Save as BMP option to JPEG viewer 
  470.           * Added Set Wallpaper option to JPEG viewer 
  471.           * Added normal vs Wallpaper mode toggle to JPEG viewer slideshow 
  472.           * If you drag & drop a JPG file into newsbot's main window, then 
  473.             Newsbot will launch a Jpeg viewer window to view the file. 
  474.           * Moved dupe checker preferences to their own menu item 
  475.           * Added "Items to keep" settings for dupe checkers 
  476.           * Fixed major distribution problem in hash function 
  477.           * Added Blank option to Current/Previous menus to blank out the 
  478.             current picture 
  479.           * Viewer enable defaulted to active 
  480.           * Fixed problem with long pathnames in jpeg viewer 
  481.           * Fallback when improper BWCC.DLL loaded 
  482.     * Version 2.3 
  483.           * Fixed GPF on loadup of nonregistered users 
  484.  
  485.